#!/usr/bin/env python
# -*- coding: utf-8 -*-

# <Aplicacion para ocultar archivos en sistemas Unix.>
# Copyright (C) 2011 Alejandro Alvarez <contacto@codigopython.com.ar>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

# http://www.codigopython.com.ar <contacto@codigopython.com.ar>

import os, sys

def hide(file):
    if not os.path.exists(file):
        return
    archive = os.path.basename(file)
    directorio = os.path.dirname(file)
    if archive[0] == '.':
        return
    else:
        newfile = directorio+'/''.'+archive
        os.rename(file, newfile)

def show(file):
    if not os.path.exists(file):
        return
    archive = os.path.basename(file)
    directorio = os.path.dirname(file)
    if archive[0] != '.':
        return
    else:
        while archive[0] == '.':
            archive = archive[1:]
        newfile = directorio+'/'+archive
        os.rename(file, newfile)

def check(file):
    if not os.path.exists(file):
        return "El archivo no existe"
    archive = os.path.basename(file)
    if archive[0] == '.':
        return archive + " Se encuentra oculto"
    else:
        return archive + " No se encuentra oculto"

if __name__ == '__main__':
    if len(sys.argv) != 3:
        print "La cantidad de argumentos ingresada no es correcta"
	file = sys.argv[1]
	action = sys.argv[2]
    if action == '-c':
        print check(file)
    elif action == '-h':
        hide(file)
        print "El archivo se encuentra oculto"
    elif action == '-s':
        show(file)
        print "El archivo ya no se encuentra oculto"
    else:
        print "El argumento ingresado no es correcto"
